|
==Introduction== Common Lisp (CL) is a dialect of the Lisp programming language, published in ANSI standard document ''ANSI INCITS 226-1994 (R2004)'' (formerly ''X3.226-1994 (R1999)'').〔Quoted from cover of cited standard. ANSI INCITS 226-1994 (R2004), for sale on standard's (document page ).〕 From the ANSI Common Lisp standard the Common Lisp HyperSpec, a hyperlinked HTML version, has been derived.〔(Authorship of the Common Lisp HyperSpec )〕 The Common Lisp language was developed as a standardized and improved successor of Maclisp. In the early 1980s several groups already worked on successors to MacLisp: Lisp Machine Lisp (aka ZetaLisp), Spice Lisp, NIL (programming language) and S-1 Lisp. Common Lisp is not an implementation, but rather a language specification.〔(Common Lisp HyperSpec 1.1.2 History )〕 Several implementations of the Common Lisp standard are available, including free and open source software and proprietary products.〔(Common Lisp Implementations: A Survey )〕 Work on Common Lisp started in 1981 after an initiative by ARPA manager Bob Engelmore to develop a single community standard Lisp dialect.〔(Roots of "Yu-Shiang Lisp", Mail from Jon L White, 1982 )〕 Much of the initial language design was done via electronic mail.〔(ARPANET Common Lisp mailing list, starting in 1981 )〕〔(Knee-jerk Anti-LOOPism and other E-mail Phenomena: Oral, Written, and Electronic Patterns in Computer-Mediated Communication, JoAnne Yates and Wanda J. Orlikowski., 1993 )〕 Guy Lewis Steele, Jr. gave at the 1982 ACM Symposium on LISP and functional programming the first overview of Common Lisp.〔(An overview of COMMON LISP, Guy L. Steele, Jr.. LFP '82 Proceedings of the 1982 ACM symposium on LISP and functional programming Pages 98-107 )〕 The first language documentation was published 1984 as Common Lisp the Language, first edition. A second edition, published in 1990, incorporated many changes to the language, made during the ANSI Common Lisp standardization process. The final ANSI Common Lisp standard then was published in 1994. Since then no update to the standard has been published. Various extensions and improvements to Common Lisp (examples are Unicode, Concurrency, CLOS-based IO) have been provided by implementations. Common Lisp is a general-purpose, multi-paradigm programming language. It supports a combination of procedural, functional, and object-oriented programming paradigms. As a dynamic programming language, it facilitates evolutionary and incremental software development, with iterative compilation into efficient run-time programs. This incremental development is often done interactively without interrupting the running application. It also supports optional type annotation and casting, which can be added as necessary at the later profiling and optimization stages, to permit the compiler to generate more efficient code. For instance, fixnum can hold an unboxed integer in a range supported by the hardware and implementation, permitting more efficient arithmetic than on big integers or arbitrary precision types. Similarly, the compiler can be told on a per-module or per-function basis which type safety level is wanted, using ''optimize'' declarations.Common Lisp includes CLOS, an object system that supports multimethods and method combinations. It is often implemented with a Metaobject Protocol. Common Lisp is extensible through standard features such as Lisp macros (code transformations) and reader macros (input parsers for characters). Common Lisp provides some backwards compatibility to Maclisp and to John McCarthy's original Lisp. This allows older Lisp software to be ported to Common Lisp.〔(【引用サイトリンク】 Old LISP programs still run in Common Lisp )〕 抄文引用元・出典: フリー百科事典『 ウィキペディア(Wikipedia)』 ■ウィキペディアで「Common Lisp」の詳細全文を読む スポンサード リンク
|